Definición de Arquitectura Harvard
(Harvard architecture). La arquitectura Harvard es un tipo de arquitectura de computadora que se caracteriza por la separación física de la memoria de instrucciones (programa) y la memoria de datos. Esto significa que existen buses independientes para acceder a cada tipo de memoria, permitiendo que la CPU lea instrucciones y datos de forma simultánea.
El término proviene de la computadora Harvard Mark I, donde las instrucciones y los datos se almacenaban en medios diferentes, lo que permitía un procesamiento más eficiente.
Ventajas:
- Mayor rendimiento: Al tener buses separados, la CPU puede buscar instrucciones y datos al mismo tiempo, lo que reduce los cuellos de botella y aumenta la velocidad de procesamiento.
- Acceso simultáneo: Permite realizar operaciones en paralelo, optimizando tareas como la ejecución de instrucciones y la manipulación de datos.
- Seguridad y confiabilidad: La separación física puede proteger el código de programa contra modificaciones accidentales por parte de los datos.
Desventajas:
- Mayor complejidad de hardware: Requiere circuitos adicionales y buses duplicados, lo que puede incrementar el costo y el tamaño del sistema.
- Menor flexibilidad: La memoria de instrucciones y la de datos no pueden ser reasignadas dinámicamente, lo que puede limitar el uso eficiente de la memoria total disponible.
Ejemplo: Muchos microcontroladores modernos, como los de la familia PIC o AVR, emplean arquitectura Harvard. Por ejemplo, un microcontrolador puede ejecutar una instrucción mientras lee datos de sensores, sin interferencias entre ambas operaciones.
Comparación con la Arquitectura von Neumann
La arquitectura von Neumann utiliza un único bus y una sola memoria para datos e instrucciones, lo que puede provocar un cuello de botella conocido como el "von Neumann bottleneck". En cambio, la arquitectura Harvard evita este problema al permitir accesos simultáneos, aunque a costa de una mayor complejidad en el diseño.
Resumen: Arquitectura Harvard
La arquitectura Harvard es una forma de organizar las computadoras separando físicamente las instrucciones y los datos, lo que permite mayor velocidad y eficiencia en el procesamiento. Su nombre proviene de la computadora Harvard Mark I.
¿Qué es la Arquitectura Harvard?
La Arquitectura Harvard es una arquitectura de ordenador en la que la memoria de instrucciones y la memoria de datos están separadas, permitiendo que la CPU acceda a ambas de forma independiente y simultánea.
¿En qué se diferencia la Arquitectura Harvard de la Arquitectura Von Neumann?
La Arquitectura Harvard utiliza memorias y buses separados para datos e instrucciones, mientras que la Arquitectura von Neumann emplea una única memoria y un solo bus, lo que puede limitar el rendimiento por accesos secuenciales.
¿Cuál es la ventaja de la Arquitectura Harvard?
La principal ventaja es la capacidad de acceder a instrucciones y datos al mismo tiempo, lo que incrementa la velocidad y el rendimiento del sistema.
¿En qué tipo de dispositivos se puede encontrar la Arquitectura Harvard?
Se utiliza en dispositivos como microcontroladores (por ejemplo, PIC, AVR), DSPs (procesadores de señales digitales), y algunas GPUs (unidades de procesamiento gráfico).
¿Cómo se llama el programa que se encarga de convertir el código fuente en código binario en la Arquitectura Harvard?
El programa encargado de convertir el código fuente en código binario para la Arquitectura Harvard se llama compilador.
¿Qué lenguajes de programación se pueden utilizar en la Arquitectura Harvard?
Se pueden utilizar lenguajes de programación como C, C++, Assembly y otros lenguajes de bajo nivel, especialmente adaptados para sistemas embebidos y controladores.
Tecnologías empleadas en CPUs |
|
• Arquitectura |
• Harvard (Modified Harvard) • von Neumann • Dataflow • TTA |
• Conjunto de instrucciones |
• ASIP • CISC • EDGE • EPIC • MISC • MIPS • NISC • OISC • RISC • TRIPS • VLIW • ZISC |
• Tamaño de palabra (word) |
• 1 bit • 4 bit • 8 bit • 9 bit • 10 bit • 12 bit • 15 bit • 16 bit • 18 bit • 22 bit • 24 bit • 25 bit • 26 bit • 27 bit • 31 bit • 32 bit • 33 bit • 34 bit • 36 bit • 39 bit • 40 bit • 48 bit • 50 bit • 60 bit • 64 bit • 128 bit • 256 bit • 512 bit • bit variable |
• Ejecución (ciclo de instrucción) |
• Segmentación (pipelining): Bubble, Operand forwarding |
• Computación paralela |
• Paralelismo a nivel de Bit: bit-serial, palabra • Paralelismo a nivel de Instrucción: escalar, superescalar • Paralelismo de Datos: vector • Paralelismo a nivel de Memoria (MLP) • Paralelismo a nivel de Tareas: hilo de ejecución (thread) |
• Multihilo |
• Temporal multithreading • Simultaneous multithreading: HyperThreading |
• Taxonomía de Flynn |
• SISD • SIMD • MISD • MIMD (SPMD) • Modos de direccionamiento (addressing mode) |
• Tipos |
• Procesador digital de señales (DSP) • GPGPU • Microcontrolador • Unidad de procesamiento físico (PPU) • System on a chip (SoC) • Celular (cellular architecture) |
• Componentes |
• Unidad de generación de direcciones (address generation unit o AGU) |
• Gestión de energía |
• APM • ACPI • Escala de frecuencia dinámica (Dynamic frequency scaling) • Escala de tensión dinámica (Dynamic voltage scaling) • Gating de reloj (clock gating) |
• Seguridad por hardware de CPU |
• NX bit |
Autor: Leandro Alegsa
Actualizado: 08-07-2025
¿Cómo citar este artículo?
Alegsa, Leandro. (2025). Definición de Arquitectura Harvard. Recuperado de https://www.alegsa.com.ar/Dic/arquitectura_harvard.php